package com.textanalyzer;

import com.textanalyzer.util.SentenceState;
import com.textanalyzer.util.SentenceWorker;

/**
 * This class is the class which represent Sentence concept in the system.
 * 
 */
public class Sentence {

	/**
	 * The real sentence...
	 */
	private String realSentence;
	/**
	 * The reducted sentence of real sentence...
	 */
	private String reductedSentence;
	/**
	 * The state of the Sentence.
	 */
	private SentenceState state;

	/**
	 * Return new Sentence instance.
	 * 
	 * @param sentence
	 *            {@link String}
	 */
	public Sentence(String sentence) {
		// create worker...
		SentenceWorker worker = new SentenceWorker();
		// assign real sentence....
		this.setRealSentence(sentence);
		// reduct the real sentence....
		this.setReductedSentence(worker.reductSentence(this.getRealSentence()));
	}

	/**
	 * @param realSentence
	 *            the realSentence to set
	 */
	private void setRealSentence(String realSentence) {
		this.realSentence = realSentence;
	}

	/**
	 * @return the realSentence
	 */
	public String getRealSentence() {
		return realSentence;
	}

	/**
	 * @param reductedSentence
	 *            the reductedSentence to set
	 */
	private void setReductedSentence(String reductedSentence) {
		this.reductedSentence = reductedSentence;
	}

	/**
	 * @return the reductedSentence
	 */
	public String getReductedSentence() {
		return reductedSentence;
	}

	/**
	 * Set state of sentence...
	 * 
	 * @param state
	 *            {@link String} State to be set.
	 */
	public void setState(SentenceState state) {
		this.state = state;
	}

	/**
	 * @return state of sentence.
	 */
	public SentenceState getState() {
		return this.state;
	}
}
